package com.z.system.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.z.system.model.Log;

import java.util.UUID;
import java.util.List;
import java.util.Date;

/**
 * 日志仓库接口，提供日志数据访问方法
 */
@Repository
public interface LogRepository extends JpaRepository<Log, UUID> {

    /**
     * 根据用户ID查询日志
     */
    List<Log> findByUserId(UUID userId);

    /**
     * 根据模块查询日志
     */
    List<Log> findByModule(String module);

    /**
     * 根据API路径查询日志
     */
    List<Log> findByApiPath(String apiPath);

    /**
     * 根据时间段查询日志
     */
    List<Log> findByCreateTimeBetween(Date startTime, Date endTime);

    /**
     * 根据状态码查询日志
     */
    List<Log> findByStatusCode(Integer statusCode);

    /**
     * 查询包含错误信息的日志
     */
    List<Log> findByErrorMsgIsNotNull();
}